package com.zkthink.ceres.member.dto;

import com.zkthink.base.entity.SuperEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import lombok.experimental.Accessors;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * <p>
 * 实体类
 * 会员变化历史
 * </p>
 *
 * @author ck
 * @since 2021-11-26
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@ToString(callSuper = true)
@EqualsAndHashCode(callSuper = false)
@Builder
@ApiModel(value = "XsyMemberExchangeUpdateDTO", description = "会员变化历史")
public class XsyMemberExchangeUpdateDTO implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "主键")
    @NotNull(message = "id不能为空", groups = SuperEntity.Update.class)
    private Long id;

    /**
     * 会员id
     */
    @ApiModelProperty(value = "会员id")
    private Long mid;
    /**
     * 会员角色变化历史
     */
    @ApiModelProperty(value = "会员角色变化历史")
    private LocalDateTime exchangeTime;
    /**
     * 旧的vip类型
     */
    @ApiModelProperty(value = "旧的vip类型")
    private Integer oldVip;
    /**
     * 新的vip类型
     */
    @ApiModelProperty(value = "新的vip类型")
    private Integer newVip;
    /**
     * 旧的红娘类型
     */
    @ApiModelProperty(value = "旧的红娘类型")
    private Integer oldHn;
    /**
     * 新的红娘类型
     */
    @ApiModelProperty(value = "新的红娘类型")
    private Integer newHn;
    /**
     * 旧的咨询师类型
     */
    @ApiModelProperty(value = "旧的咨询师类型")
    private Integer oldConsultant;
    /**
     * 新的咨询师类型
     */
    @ApiModelProperty(value = "新的咨询师类型")
    private Integer newConsultant;
    /**
     * 旧的店长类型
     */
    @ApiModelProperty(value = "旧的店长类型")
    private Integer oldManager;
    /**
     * 新的店长类型
     */
    @ApiModelProperty(value = "新的店长类型")
    private Integer newManager;
    /**
     * 旧的客服类型
     */
    @ApiModelProperty(value = "旧的客服类型")
    private Integer oldService;
    /**
     * 新的客服类型
     */
    @ApiModelProperty(value = "新的客服类型")
    private Integer newService;
    /**
     * 变化类型:1:vip变化2:红娘变化3:咨询师变化4:店长变化5:客服变化
     */
    @ApiModelProperty(value = "变化类型:1:vip变化2:红娘变化3:咨询师变化4:店长变化5:客服变化")
    private Integer exchangeType;
}
